/******************************************/
/*     Flags, Variables, and Counters     */
/*                                        */
/* Flag 0      ==> Debug Flag             */
/* Flag 1      ==> First Turn Flag        */
/* Flag 2      ==> Bird Fed Flag          */
/* Flag 3      ==> Searched Table Flag    */
/* Flag 4      ==> Been to Temple Flag    */
/* Flag 5      ==> Search Fountain Flag   */
/* Flag 6      ==> Weapon Flag            */
/* Flag 7      ==> Temp Flag for Init     */
/* Flag 8      ==> Temp Flag for Init     */
/* Flag 9      ==> Temp Flag for Init     */
/* Flag 10     ==> Have Spell Flag        */
/* Flag 11     ==> 1st use of Magic Gem?  */
/* Flag 12     ==> Killed Bandits?        */
/* Flag 13     ==> Bandits gone?          */
/* Flag 14     ==> Killed Wolves?         */
/* Flag 15     ==> Appeased Dragon?       */
/* Flag 16     ==> Been to Warlock's Cave */
/* Flag 17     ==> Bought Spell?          */
/* Flag 18     ==> Dragon saw wand        */
/* Flag 19     ==> Moved cabinet?         */
/* Flag 20     ==> Moved Bench?           */
/* Flag 21     ==> Moved Tapestry?        */
/* Flag 22     ==> Shot at vault door     */
/* Flag 23     ==> need pass, ruins-bank3 */
/* Flag 24     ==> been to Inn?           */
/* Flag 25     ==> Been to bridge?        */
/* Flag 26     ==> Payed Cyclops?         */
/* Flag 27     ==> Examined dam?          */
/* Flag 28     ==> bridge washed out?     */
/* Flag 29     ==> seen chasm door?       */
/* Flag 30     ==> examined south wall?   */
/* Flag 31     ==> excaped from cell?     */
/* Flag 32     ==> beer poisioned?        */
/* Flag 33     ==> Jailor taunted you?    */
/* Flag 34     ==> shot by Vartok?        */
/* Flag 255    ==> Temp Flag              */
/*                                        */
/* Variable 1  ==> Total Amount of Money  */
/* Variable 2  ==> Temp Variable          */
/* Variable 3  ==> Temp Variable          */
/* Variable 4  ==> # of Party Members     */
/* Variable 5  ==> # of times you atk drg */
/* Variable 6  ==> Command word of wand   */
/* Variable 7  ==> Green Poition Type     */
/* Variable 8  ==> Red Potion Type        */
/* Variable 9  ==> Blue Potion Type       */
/* Variable 10 ==> # of charges in wand   */
/* Variable 11 ==> Return Loc with Gem    */
/* Variable 12 ==> # of turns w/dragonne  */
/* Variable 13 ==> # of turns w/wraith    */
/* Variable 14 ==> Loc before in bag      */
/* Variable 15 ==> old # of party members */
/*                                        */
/* Counter  1  ==> # of turns met bandits */
/* Counter  2  ==> # of turns wounded     */
/* Counter  3  ==> # of turns stunned     */
/* Counter  4  ==> # of turns w/out air   */
/* Counter  5  ==> # of turns flying      */
/* Counter  6  ==> # of turns strong      */
/* Counter  7  ==> # of turns in Inn      */
/* Counter  8  ==> # of turns water leaks */
/* Counter  9  ==> # of turns in grd room */
/* Counter 10  ==> # of turns in cell     */
/* Counter 11  ==> # of turns w/Vartok    */
/* Counter 12  ==> # turns aft atk Vartok */
/******************************************/

/******************************************/
/*             Initialization             */
/******************************************/

COMMAND ANY
  FlagOFF 1             /* first turn */
  SetVariableTo 10 3    /* set initial number of charges in wand to 3 */
  TurnFlagON 1          /* not first turn no more! */
END_COMMAND

/***********************************************/
/*             Other ANY Commands              */
/***********************************************/

/* compute total amout of money in variable #1 */
COMMAND ANY
  SetVariableTo 1 0
  IsCarrying 200    /* carrying the copper coin? */
  AddToVariable 1 1
END_COMMAND

COMMAND ANY
  IsCarrying 201    /* carrying the silver coin? */
  AddToVariable 1 5
END_COMMAND

COMMAND ANY
  IsCarrying 202    /* carrying the electrum coin? */
  AddToVariable 1 10
END_COMMAND

COMMAND ANY
  IsCarrying 203    /* carrying the gold coin? */
  AddToVariable 1 20
END_COMMAND

COMMAND ANY
  IsCarrying 204    /* carrying the platinum coin? */
  AddToVariable 1 50
END_COMMAND

COMMAND ANY
  VariableEquals 4 1
  NOT IsLocated 311 6
  SwapLocations 310 311      /* put 2 wolves in forest */
END_COMMAND

COMMAND ANY
  VariableEquals 4 2
  NOT IsLocated 312 6
  SwapLocations 311 312      /* put 3 wolves in forest */
END_COMMAND

COMMAND ANY
  VariableEquals 4 3
  NOT IsLocated 313 6
  SwapLocations 312 313      /* put 4 wolves in forest */
END_COMMAND

COMMAND ANY
  Destroy 304
  Destroy 305
  Destroy 306
  Destroy 307
  Destroy 308           /* destroy all bandits and princess */
END_COMMAND

COMMAND ANY
  IsCarrying 213
        OR
  IsCarrying 214
        OR
  IsCarrying 215
  TurnFlagON 6          /* Hey, you have a weapon */
END_COMMAND

COMMAND ANY
  FlagON 6              /* You have at one time carryed a weapon */
  FlagOFF 12            /* You have not yet killed the bandits */
  FlagOFF 13            /* The bandits haven't left yet */
  SendToRoom 308 3      /* send damsel to room */
END_COMMAND

COMMAND ANY
  FlagON 6              /* You have at one time carryed a weapon */
  FlagOFF 12            /* You have not yet killed the bandits */
  FlagOFF 13            /* The bandits haven't left yet */
  VariableEquals 4 0    /* No other party members */
  SendToRoom 304 3      /* Two bandits in forest */
END_COMMAND

COMMAND ANY
  FlagON 6              /* You have at one time carryed a weapon */
  FlagOFF 12            /* You have not yet killed the bandits */
  FlagOFF 13            /* The bandits haven't left yet */
  VariableEquals 4 1    /* One other party member */
  SendToRoom 305 3      /* Three bandits in forest */
END_COMMAND

COMMAND ANY
  FlagON 6              /* You have at one time carryed a weapon */
  FlagOFF 12            /* You have not yet killed the bandits */
  FlagOFF 13            /* The bandits haven't left yet */
  VariableEquals 4 2    /* Two other party members */
  SendToRoom 306 3      /* Four bandits in forest */
END_COMMAND

COMMAND ANY
  FlagON 6              /* You have at one time carryed a weapon */
  FlagOFF 12            /* You have not yet killed the bandits */
  FlagOFF 13            /* The bandits haven't left yet */
  VariableEquals 4 3    /* Three other party members */
  SendToRoom 307 3      /* Five bandits in forest */
END_COMMAND

COMMAND ANY
  AtLocation 3               /* At the bandits location */
  Present 308                /* Are the bandits and the princess there? */
  CounterEquals 1 0          /* Just met the bandits? */
  TurnCounterON 1            /* Start the count */
END_COMMAND

COMMAND ANY
  CounterGT 1 3              /* You've waited to long to attack */
  TurnCounterOFF 1           /* let's be neat */
  TurnFlagON 13              /* You've missed the golden opportunity */
  Destroy 304
  Destroy 305
  Destroy 306
  Destroy 307
  Destroy 308                /* destroy all bandits and princess */
  AtLocation 3               /* If you're there you see them leave */
  PrintMessage 56
END_COMMAND

COMMAND ANY
  VariableGT 5 0             /* Have you attacked the dragon? */
  SubtractFromVariable 5 1   /* He'll cool down now */
END_COMMAND

COMMAND ANY
  CounterEquals 2 4          /* You are wounded and you died. */
  TurnCounterOFF 2           /* just to be neat */
  PrintMessage 64            /* You've bled to death */
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND ANY
  CounterGT 2 0              /* You are wounded, but not dead yet. */
  PrintMessage 65
  Present 326                /* Is Tyree here? */
  PrintMessage 70            /* He heals you */
  TurnCounterOFF 2           /* not wounded no more */
  PlusScore 1
END_COMMAND

COMMAND ANY
  AtLocation 7       /* were the wall is? */
  Present 229        /* still a wall of fire in your way? */
  Present 327        /* Is Issak here? */
  PrintMessage 71    /* He'll put it out */
  Destroy 229        /* No more wall */
  PlusScore 1
END_COMMAND

COMMAND ANY
  AtLocation 8
  VerbIsDirection
  Present 309                /* outside the hold w/dragonne, leaving */
  SetVariableTo 12 0         /* clear variable */
END_COMMAND

COMMAND ANY
  AtLocation 8
  NOT VerbIsDirection
  Present 309                /* outside the hold with the dragonne */
  SetVariableTo 2 0          /* clear temp */
  Present 325                /* Chrome is here */
  AddToVariable 2 2
END_COMMAND

COMMAND ANY
  AtLocation 8
  NOT VerbIsDirection
  Present 309                /* outside the hold with the dragonne */
  Present 326                /* Tyree is here */
  AddToVariable 2 1
END_COMMAND

COMMAND ANY
  AtLocation 8
  NOT VerbIsDirection
  Present 309                /* outside the hold with the dragonne */
  AddToVariable 12 1         /* increase count */
  VariableEquals 12 2        /* it roars */
  SetVariableTo 3 72         /* base dragonne message */
  AddVariables 3 2           /* Figure out message based on whose here */
  PrintVariableMessage 3
  TurnCounterON 3            /* stun counter */
  SetVariableTo 12 0         /* clear roar count */
END_COMMAND

COMMAND ANY
  CounterGT 3 0              /* are you stunned? */
  Present 325                /* Chrome to the rescue */
  PrintMessage 76            /* Chrome kills dragonne */
  Destroy 309
  TurnCounterOFF 3           /* stun wears off */
  PlusScore 1
  DoneWithTurn
END_COMMAND

COMMAND ANY
  AtLocation 9
  VerbIsDirection
  Present 314                /* inside the hold w/wraith, leaving */
  SetVariableTo 13 0         /* clear variable */
END_COMMAND

COMMAND ANY
  AtLocation 9
  NOT VerbIsDirection
  Present 314                /* inside the hold with the wraith */
  AddToVariable 13 1         /* increase count */
  VariableEquals 13 3        /* it attacks */
  PrintMessage 82
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND ANY
  FlagOFF 15            /* not appeased yet */
  AtLocation 69         /* in the dragon's lair */
  TurnFlagOFF 18        /* hasn't seen anything yet */
  Present 246           /* is the wand here? */
  TurnFlagON 18         /* he saw it */
  PrintMessage 96       /* Eyes the wand */
END_COMMAND

COMMAND ANY
  FlagOFF 15            /* not appeased yet */
  AtLocation 69         /* in the dragon's lair */
  FlagOFF 18            /* no wand in sight */
  Present 230           /* is the diamond around? */
  PrintMessage 97       /* Eyes the diamond */
END_COMMAND

COMMAND ANY
  NOT VariableEquals 15 0    /* You ZARDOZed or flew away before */
  Present 325                /* but look, its Chrome */
        OR
  Present 326                /* or Tyree */
        OR
  Present 327                /* or Issak */
  AddVariables 4 15          /* get old # of party members back */
  SetVariableTo 15 0         /* clear old # of party members */
END_COMMAND

COMMAND ANY
  AtLocation 101                /* in bank #3 */
  FlagON 23                     /* need the passage */
  ChangePassageway 1 72         /* make a passage to the ruins */
  TurnFlagOFF 23                /* passage made */
END_COMMAND

COMMAND ANY
  AtLocation 72                 /* in ruins */
  FlagON 23                     /* need the passage */
  ChangePassageway 2 101        /* make a passage to bank #3 */
  TurnFlagOFF 23                /* passage made */
END_COMMAND

COMMAND ANY
  CounterGT 4 1                 /* you're running out of air */
  CounterLT 4 5                 /* but you're not dead yet */
  PrintMessage 149
END_COMMAND

COMMAND ANY
  CounterEquals 4 5             /* oops, you died from lack of air */
  PrintMessage 150
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND ANY
  CounterEquals 5 6             /* # of turns you can fly */
  PrintMessage 152              /* potion wears off */
  TurnCounterOFF 5              /* Not flying any more */
END_COMMAND

COMMAND ANY
  AtLocationGT 75
  AtLocationLT 80               /* you're in midair */
  CounterEquals 5 0             /* oops, the potion wore off */
  PrintMessage 153              /* you fall down a long way */
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND ANY
  CounterEquals 6 4         /* strength has worn off */
  TurnCounterOFF 6          /* no more strength */
  PrintMessage 163
END_COMMAND

COMMAND ANY
  CounterEquals 7 3         /* coin will disappear */
  TurnCounterOFF 7          /* no need for counter anymore */
  IsLocated 200 23          /* coin still in Inn */
  Destroy 200               /* no more copper coin */
  AtLocation 23             /* are you there? */
  PrintMessage 165          /* boy takes it */
END_COMMAND

COMMAND ANY
  CounterGT 8 0         /* water is leaking */
  CounterLT 8 7         /* but hasn't broken yet. */
  AtLocation 86         /* at the dam */
  PrintMessage 175      /* dam is breaking, etc. */
END_COMMAND

COMMAND ANY
  CounterEquals 8 7     /* dam has broken */
  AtLocation 86
        OR
  AtLocation 98         /* at the dam or the bridge */
  PrintMessage 176      /* oops, killed */
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND ANY
  CounterEquals 8 7     /* dam has broken */
  AtLocation 87         /* inside the open bag */
  IsLocated 218 86
        OR
  IsLocated 218 98      /* bag at dam or bridge */
  PrintMessage 177      /* nice try but no dice */
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND ANY
  CounterEquals 8 7     /* dam broke */
  AtLocation 85         /* road near bridge */
  PrintMessage 178
END_COMMAND

COMMAND ANY
  CounterEquals 8 7     /* dam broke */
  AtLocation 88         /* inside the closed bag */
  IsLocated 218 86
        OR
  IsLocated 218 98      /* bag at dam or bridge */
  PrintMessage 180      /* yea! you made it! */
  SetVariableTo 14 89   /* will return to chasm bottom */
  SendToRoom 218 89     /* the bag goes as well */
END_COMMAND

COMMAND ANY
  CounterEquals 8 7
  TurnCounterOFF 8      /* just to be neat */
  TurnFlagON 28         /* bridge washed out */
END_COMMAND

COMMAND ANY
  FlagOFF 33            /* jailor hasn't taunted you */
  IsLocated 323 95      /* and he's in the guard room */
  TurnFlagON 33         /* you won't be taunted a second time */
  PrintMessage 188      /* Jailor makes fun of you */
  FlagON 32             /* beer poisoned */
  PrintMessage 189      /* jailor dies */
  Destroy 323
  Destroy 264           /* kill the beer too */
  SendToRoom 262 95     /* dead jailor */
  SendToRoom 263 95     /* to get the stein off the table */
  SendToRoom 265 95     /* iron key */
END_COMMAND

COMMAND ANY
  CounterEquals 9 5     /* Jailor returns */
  TurnCounterOFF 9      /* lets be neat */
  PrintMessage 186
  RemoveEverything      /* they take everything off too */
  DropEverything        /* all your stuff in the guard room */
  SendToRoom 323 95     /* don't forget to put the jailor in the room */
  SendToRoom 241 96     /* put the cell door in with you */
  GoToRoom 96           /* you get put in the cell */
  TurnCounterON 10      /* # of turns in cell  */
  DoneWithTurn          /* forget what you wanted to do */
END_COMMAND

COMMAND ANY
  CounterEquals 10 10   /* you've been in the cell too long */
  PrintMessage 194      /* taken to be killed */
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND ANY
  AtLocation 97         /* Vartok's lair */
  FlagOFF 34            /* haven't been shot */
  NOT IsWearing 254     /* not wearing the amulet */
  PrintMessage 195      /* so close, yet so far */
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND ANY
  AtLocation 97         /* Vartok's lair, wearing the amulet */
  FlagOFF 34            /* haven't been shot */
  TurnFlagON 34         /* now you have */
  PrintMessage 196      /* stand off */
  SwapLocations 254 278 /* you now have a glowing amulet */
  TurnCounterON 11      /* guards will arrive soon */
  PlusScore 2           /* 2 points */
  DoneWithTurn
END_COMMAND

COMMAND ANY
  CounterEquals 11 8    /* guards arrive */
  PrintMessage 201      /* you're caught */
  KillPlayer
  DoneWithturn
END_COMMAND

COMMAND ANY
  CounterEquals 12 3    /* Vartok recovers */
  TurnCounterOFF 12
  PrintMessage 202      /* say he recovers */
END_COMMAND

/* last ANY commands */
COMMAND ANY
  CounterGT 3 0             /* your stunned */
  PrintMessage 78
  CounterLT 3 3
  DoneWithTurn
END_COMMAND

COMMAND ANY
  CounterGT 3 0             /* You were stunned */
  TurnCounterOFF 3          /* OK, your not stunned */
  PrintMessage 79
  DoneWithTurn
END_COMMAND

/***********************************************/
/*              The NORTH Commands             */
/***********************************************/

COMMAND NORTH
  AtLocation 2
        OR
  AtLocation 68 /* crossroads or cave entrance */
  PrintMessage 134
END_COMMAND

COMMAND NORTH
  AtLocation 10      /* outside the temple going in? */
  FlagOFF 4          /* First time at the temple? */
  TurnFlagON 4
  PrintMessage 34    /* Print elder cleric message */
  GetIt 228          /* Get the Holy Water */
END_COMMAND

COMMAND NORTH
  AtLocation 59         /* top of tower (se) */
  CounterGT 5 0         /* you are flying */
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327   /* so that they don't come with you */
  PrintMessage 155      /* you float across... */
END_COMMAND

COMMAND NORTH
  AtLocation 59         /* top of tower (se) */
  CounterGT 5 0         /* you are flying */
  GoToRoom 58           /* send player to top of tower (ne) */
  AddToGroup 325
  AddToGroup 326
  AddToGroup 327        /* but I'd better put them back */
  SetVariableTo 15 0
  AddVariables 15 4     /* set var 15 to var 4 */
  SetVariableTo 4 0     /* no more party members */
  DoneWithTurn
END_COMMAND

COMMAND NORTH
  AtLocation 92         /* hallway (west) */
  Present 271           /* the cliff door is here. */
  IsClosed 271          /* but its closed */
  PrintMessage 182
  DoneWithTurn
END_COMMAND

COMMAND NORTH
  AtLocation 92         /* hallway (west) */
  Present 271
  IsOpen 271            /* making doublely sure */
  SendToRoom 271 90     /* it comes with you */
  QuitAllCMDs
END_COMMAND

COMMAND NORTH
  AtLocation 95         /* guard room */
  IsClosed 272          /* door closed */
  PrintMessage 182
  DoneWithTurn
END_COMMAND

COMMAND NORTH
  AtLocation 95         /* guard room */
  IsOpen 272            /* making doublely sure */
  SendToRoom 272 93     /* it comes with you */
  QuitAllCMDs
END_COMMAND

/***********************************************/
/*              The SOUTH Commands             */
/***********************************************/

COMMAND SOUTH
  AtLocation 2
        OR
  AtLocation 17      /* crossroads or village square */
  PrintMessage 134
END_COMMAND

COMMAND SOUTH
  AtLocation 99      /* In the temple garden going into the temple? */
  FlagOFF 4          /* First time at the temple? */
  TurnFlagON 4
  PrintMessage 34    /* Print elder cleric message */
  GetIt 228          /* Get the Holy Water */
END_COMMAND

COMMAND SOUTH
  AtLocation 6       /* were the wolves are */
  FlagOFF 14         /* You didn't kill the wolves */
  PrintMessage 60    /* They won't let you pass, etc. */
  DoneWithTurn
END_COMMAND

COMMAND SOUTH
  AtLocation 7       /* wall of fire */
  Present 229        /* Is the wall of fire still there? */
  PrintMessage 61
  DoneWithTurn
END_COMMAND

COMMAND SOUTH
  AtLocation 8
  Present 309                /* outside the hold with the dragonne */
  SetVariableTo 2 0          /* clear temp */
  Present 325                /* Chrome is here */
  AddToVariable 2 2
END_COMMAND

COMMAND SOUTH
  AtLocation 8
  Present 309                /* outside the hold with the dragonne */
  Present 326                /* Tyree is here */
  AddToVariable 2 1
END_COMMAND

COMMAND SOUTH
  AtLocation 8               /* outside stronghole */
  Present 309                /* dragonne there? */
  SetVariableTo 3 72         /* base dragonne message */
  AddVariables 3 2           /* Figure out message based on whose here */
  PrintVariableMessage 3     /* it roars */
  TurnCounterON 3            /* stun counter */
  DoneWithTurn
END_COMMAND

COMMAND SOUTH
  AtLocation 8               /* entering hold, no dragonne */
  IsLocated 314 9            /* wraith is inside hold */
  Present 326                /* Tyree is with you */
  PrintMessage 85            /* he does his schtick */
  Destroy 314                /* and the wraith is no more */
  PrintMessage 86            /* everyone leaves */
  PlusScore 1
END_COMMAND

COMMAND SOUTH
  AtLocation 8               /* entering hold, no dragonne */
  Present 326                /* Tyree is with you, did schtick */
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327
  Destroy 325
  Destroy 326
  Destroy 327                /* say goodbye to Chrome, Tyree, and Issak */
  SetVariableTo 4 0          /* no more party members */
  SendToRoom 204 9           /* platinum coin is treasure */
  SendToRoom 230 9           /* huge diamond is treasure */
  SendToRoom 238 9           /* gold statuette is treasure */
END_COMMAND

COMMAND SOUTH
  AtLocation 100             /* about to enter the vault */
  PrintMessage 148           /* oh no! its collapsing! */
  TurnFlagON 23              /* will need passage between ruins & bank 3 */
  TurnCounterON 4            /* will soon run out of air */
  VariableEquals 11 100      /* zardoz return to bank #2 */
  SetVariableTo 11 101       /* Now return to bank #3 */
END_COMMAND

COMMAND SOUTH
  AtLocation 75         /* chasm's brink */
  CounterGT 5 0         /* you are flying */
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327   /* so that they don't come with you */
  PrintMessage 157      /* dive into midair */
END_COMMAND

COMMAND SOUTH
  AtLocation 75         /* chasm's brink */
  CounterGT 5 0         /* you are flying */
  GoToRoom 76           /* midair (north) */
  AddToGroup 325
  AddToGroup 326
  AddToGroup 327        /* but I'd better put them back */
  SetVariableTo 15 0
  AddVariables 15 4     /* set var 15 to var 4 */
  SetVariableTo 4 0     /* no more party members */
  DoneWithTurn
END_COMMAND

COMMAND SOUTH
  AtLocation 58         /* top of tower (se) */
  CounterGT 5 0         /* you are flying */
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327   /* so that they don't come with you */
  PrintMessage 155      /* you float across... */
END_COMMAND

COMMAND SOUTH
  AtLocation 58         /* top of tower (ne) */
  CounterGT 5 0         /* you are flying */
  GoToRoom 59           /* send player to top of tower (se) */
  AddToGroup 325
  AddToGroup 326
  AddToGroup 327        /* but I'd better put them back */
  SetVariableTo 15 0
  AddVariables 15 4     /* set var 15 to var 4 */
  SetVariableTo 4 0     /* no more party members */
  DoneWithTurn
END_COMMAND

COMMAND SOUTH
  AtLocation 90         /* chasm bottom (mid) */
  Present 271           /* the cliff door is here. */
  IsClosed 271          /* but its closed */
  PrintMessage 182
  DoneWithTurn
END_COMMAND

COMMAND SOUTH
  AtLocation 90         /* at chasm bottom going in */
  Present 271
  IsOpen 271            /* can't go in if it isn't there */
  SendToRoom 271 92     /* it comes with you */
  PrintMessage 184      /* oops, your caught */
  GoToRoom 95
  TurnCounterON 9
  DoneWithTurn
END_COMMAND

COMMAND SOUTH
  AtLocation 93         /* hallway (mid) */
  IsClosed 272          /* door is closed */
  PrintMessage 182
  DoneWithTurn
END_COMMAND

COMMAND SOUTH
  AtLocation 93         /* hallway (mid) */
  IsOpen 272            /* making doublely sure */
  SendToRoom 272 95     /* it comes with you */
END_COMMAND

/***********************************************/
/*              The EAST Commands              */
/***********************************************/

COMMAND EAST
  AtLocation 2
        OR
  AtLocation 5          /* crossroads or blank forest */
  PrintMessage 134
END_COMMAND

COMMAND EAST
  AtLocation 69         /* in the Dragon's Lair */
  FlagOFF 15            /* have not appeased dragon */
  PrintMessage 87       /* won't let you, etc. */
  DoneWithTurn
END_COMMAND

COMMAND EAST
  AtLocation 24         /* base of mountain */
  FlagOFF 16            /* haven't been to warlock's cave yet */
  TurnFlagON 16         /* now you have */
  PrintMessage 88
  QuitAllCMDs
END_COMMAND

COMMAND EAST
  AtLocation 24         /* base of mountain */
  FlagON 17             /* already bought the spell */
  PrintMessage 99       /* he usher's you out */
  DoneWithTurn
END_COMMAND

COMMAND EAST
  AtLocation 95         /* guard room */
  IsClosed 241          /* cell door is closed */
  PrintMessage 182
  DoneWithTurn
END_COMMAND

COMMAND EAST
  AtLocation 95         /* guard room */
  IsOpen 241            /* just to be sure */
  SendToRoom 241 96     /* it comes with you */
  QuitAllCMDs
END_COMMAND

/***********************************************/
/*              The WEST Commands              */
/***********************************************/

COMMAND WEST
  AtLocation 2          /* crossroads */
  PrintMessage 134
END_COMMAND

COMMAND WEST
  AtLocation 5          /* getting close to bandits */
  FlagON 6              /* you have a weapon */
  FlagOFF 12            /* bandits not dead */
  PrintMessage 55       /* you hear a scream... */
END_COMMAND

COMMAND WEST
  AtLocation 85         /* west most road */
  FlagOFF 25            /* haven't been to bridge */
  TurnFlagON 25         /* now you have */
  PrintMessage 169      /* cyclops stuff */
END_COMMAND

COMMAND WEST
  AtLocation 85
  FlagON 28             /* bridge washed out */
  PrintMessage 179
  DoneWithTurn
END_COMMAND

COMMAND WEST
  AtLocation 98         /* bridge */
  FlagOFF 26            /* haven't payed cyclops */
  PrintMessage 170      /* won't let you pass */
  DoneWithTurn
END_COMMAND

COMMAND WEST
  AtLocation 91         /* chasm bottom (east) */
  FlagOFF 29            /* no south wall */
  TurnFlagON 29         /* now you've seen it */
  SendToRoom 270 90     /* put south wall there */
  PrintMessage 181      /* you see it */
END_COMMAND

COMMAND WEST
  AtLocation 96         /* guard room cell */
  IsClosed 241          /* cell door is closed */
  PrintMessage 182
  DoneWithTurn
END_COMMAND

COMMAND WEST
  AtLocation 96         /* guard room cell */
  IsOpen 241            /* just to be sure */
  SendToRoom 241 95     /* it comes with you */
  QuitAllCMDs
END_COMMAND

COMMAND WEST
  AtLocation 93         /* not smart to go west from here */
        OR
  AtLocation 97         /* or here */
  PrintMessage 193
  KillPlayer
  DoneWithTurn
END_COMMAND

/***********************************************/
/*            The SOUTHEAST Commands           */
/***********************************************/

COMMAND SOUTHEAST
  AtLocation 12         /* dense forest 1 */
  PrintMessage 134
END_COMMAND

COMMAND SOUTHEAST
  AtLocation 17         /* village square */
  FlagOFF 24            /* haven't been to Inn */
  TurnFlagON 24         /* now you have */
  TurnCounterON 7       /* coin counter */
  PrintMessage 164
END_COMMAND

/***********************************************/
/*              The UP Commands                */
/***********************************************/

COMMAND UP
  AtLocation 53         /* guards quarters (nw)*/
  CounterGT 5 0         /* you are flying */
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327   /* so that they don't come with you */
  PrintMessage 156      /* you float across... */
END_COMMAND

COMMAND UP
  AtLocation 53         /* guards quarters (nw) */
  CounterGT 5 0         /* you are flying */
  GoToRoom 57           /* send player to top of tower (nw) */
  AddToGroup 325
  AddToGroup 326
  AddToGroup 327        /* but I'd better put them back */
  SetVariableTo 15 0
  AddVariables 15 4     /* set var 15 to var 4 */
  SetVariableTo 4 0     /* no more party members */
  DoneWithTurn
END_COMMAND

COMMAND UP
  AtLocation 50         /* tower base (ne)*/
  CounterGT 5 0         /* you are flying */
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327   /* so that they don't come with you */
  PrintMessage 156      /* you float across... */
END_COMMAND

COMMAND UP
  AtLocation 50         /* tower base (ne) */
  CounterGT 5 0         /* you are flying */
  GoToRoom 54           /* send player to guards quarters (ne) */
  AddToGroup 325
  AddToGroup 326
  AddToGroup 327        /* but I'd better put them back */
  SetVariableTo 15 0
  AddVariables 15 4     /* set var 15 to var 4 */
  SetVariableTo 4 0     /* no more party members */
  DoneWithTurn
END_COMMAND

/***********************************************/
/*             The ENTER Commands              */
/***********************************************/

COMMAND ENTER
  AtLocation 8
  Present 309                /* outside the hold with the dragonne */
  SetVariableTo 2 0          /* clear temp */
  Present 325                /* Chrome is here */
  AddToVariable 2 2
END_COMMAND

COMMAND ENTER
  AtLocation 8
  Present 309                /* outside the hold with the dragonne */
  Present 326                /* Tyree is here */
  AddToVariable 2 1
END_COMMAND

COMMAND ENTER
  AtLocation 8               /* outside stronghole */
  Present 309                /* dragonne there? */
  SetVariableTo 3 72         /* base dragonne message */
  AddVariables 3 2           /* Figure out message based on whose here */
  PrintVariableMessage 3     /* it roars */
  TurnCounterON 3            /* stun counter */
  DoneWithTurn
END_COMMAND

COMMAND ENTER
  AtLocation 8               /* entering hold, no dragonne */
  IsLocated 314 9            /* wraith is inside hold */
  Present 326                /* Tyree is with you */
  PrintMessage 85            /* he does his schtick */
  Destroy 314                /* and the wraith is no more */
  PrintMessage 86            /* everyone leaves */
  PlusScore 1
END_COMMAND

COMMAND ENTER
  AtLocation 8               /* entering hold, no dragonne */
  Present 326                /* Tyree is with you, did his schtick */
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327
  Destroy 325
  Destroy 326
  Destroy 327                /* say goodbye to Chrome, Tyree, and Issak */
  SetVariableTo 4 0          /* no more party members */
  SendToRoom 204 9           /* platinum coin is treasure */
  SendToRoom 230 9           /* huge diamond is treasure */
  SendToRoom 238 9           /* gold statuette is treasure */
END_COMMAND

COMMAND ENTER BAG
  AtLocation 87
        OR
  AtLocation 88
  PrintMessage 120      /* already in it */
  DoneWithTurn
END_COMMAND

COMMAND ENTER BAG
  NOT NOUNPresent
  PrintMessage 58       /* not here */
  DoneWithTurn
END_COMMAND

COMMAND ENTER BAG
  NOUNIsCarrying
  PrintMessage 103      /* can't carry it at the same time */
  DoneWithTurn
END_COMMAND

COMMAND ENTER BAG
  NOUNIsClosed
  PrintMessage 32       /* say its closed */
  DoneWithTurn
END_COMMAND

COMMAND ENTER BAG
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327   /* so they don't follow you */
  MakeVarRoomNum 14     /* save where you were */
  PrintMessage 104      /* say a little something */
  GoToRoom 87           /* you're now in the bag */
  AddToGroup 325
  AddToGroup 326
  AddToGroup 327        /* but I'd better put them back */
  DoneWithTurn
END_COMMAND

COMMAND ENTER
  AtLocation 95         /* guard room */
  IsClosed 241          /* cell door is closed */
  PrintMessage 182
  DoneWithTurn
END_COMMAND

COMMAND ENTER
  AtLocation 95         /* guard room */
  IsOpen 241            /* just to be sure */
  SendToRoom 241 96     /* it comes with you */
  QuitAllCMDs
END_COMMAND

/***********************************************/
/*              The EXIT Commands              */
/***********************************************/

COMMAND EXIT BAG
  AtLocation 88         /* in the closed bag */
  PrintMessage 109      /* have to open it first */
  DoneWithTurn
END_COMMAND

COMMAND EXIT BAG
  AtLocation 87         /* in the open bag */
  PrintMessage 110      /* say a little something */
  GoToVariableRoom 14   /* return from whence you came */
  DoneWithTurn
END_COMMAD

COMMAND EXIT BAG
  PrintMessage 111      /* you're not in it! */
  DoneWithTurn
END_COMMAND

COMMAND EXIT
  AtLocation 87
        OR
  AtLocation 88         /* in the bag */
  ReDirectTo EXIT BAG
END_COMMAND

COMMAND EXIT
  AtLocation 96         /* guard room cell */
  IsClosed 241          /* cell door is closed */
  PrintMessage 182
  DoneWithTurn
END_COMMAND

COMMAND EXIT
  AtLocation 96         /* guard room cell */
  IsOpen 241            /* just to be sure */
  SendToRoom 241 95     /* it comes with you */
  QuitAllCMDs
END_COMMAND

/***********************************************/
/*              The DEBUG Command              */
/***********************************************/

COMMAND DEBUG
  ToggleFlag 0
  PrintMessage 206
  DoneWithTurn
END_COMMAND

/***********************************************/
/*              The BUY Commands               */
/***********************************************/

COMMAND BUY ANY
  NOUNIsNumber 0
  PrintMessage 197
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  MakeVarNounNum 2
  VariableLT 2 210   /* is noun less than "palace chalice" */
        OR
  VariableGT 2 224   /* is noun greater then "adventurer's kit" */
  PrintMessage 1     /* "can't buy" */
  DoneWithTurn
END_COMMAND

/* noun is buyable */

COMMAND BUY ANY
  AtLocation 18      /* in the tavern */
  VariableGT 2 212   /* not a drink */
  PrintMessage 2     /* can't buy that here */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 18      /* in the tavern, and it must be a drink */
  VariableLT 1 5     /* not enough? */
  SubtractFromVariable 2 203
  PrintVariableMessage 2     /* "You don't have enough" */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 18      /* in the tavern, and you have enough */
  NOT IsCarrying 201 /* but not the silver coin */
  PrintMessage 10    /* "exact change" */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 18      /* in the tavern, and you have exact change!!! */
  Destroy 201        /* destroy silver coin */
  GetNOUN            /* Get the item you bought. */
  SubtractFromVariable 2 199
  PrintVariableMessage 2
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19      /* are you in the weapon's shop */
  VariableLT 2 213   /* not a weapon (a drink, actually) */
  SubtractFromVariable 2 207
  PrintVariableMessage 2  /* you can't buy wine, etc. here */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19      /* in weapon shop */
  VariableGT 2 215   /* greater then a long sword */
  PrintMessage 2
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19         /* in weapon shop, buying a weapon */
  VariableEquals 2 213  /* buying a dagger */
  VariableLT 1 10       /* but you don't have enough */
  PrintMessage 6        /* you don't have enough, etc. */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19
  VariableEquals 2 213  /* buying a dagger, more then enough */
  NOT IsCarrying 202    /* but you don't have the electrum piece */
  PrintMessage 14       /* "not enough" */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19
  VariableEquals 2 213  /* buying a dagger, and you have exact change!!! */
  Destroy 202
  GetNOUN
  PrintMessage 15
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19         /* in weapon shop, buying a weapon */
  VariableEquals 2 214  /* buying a short sword */
  VariableLT 1 20       /* but you don't have enough */
  PrintMessage 6        /* you don't have enough, etc. */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19
  VariableEquals 2 214  /* buying a short sword, more then enough */
  NOT IsCarrying 203    /* but you don't have the gold piece */
  PrintMessage 14       /* "not enough" */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19
  VariableEquals 2 214  /* buying a short sword, with exact change */
  Destroy 203
  GetNOUN
  PrintMessage 15
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19         /* in weapon shop, buying a weapon */
  VariableEquals 2 215  /* buying a long sword */
  VariableLT 1 30       /* but you don't have enough */
  PrintMessage 6        /* you don't have enough, etc. */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19
  VariableEquals 2 215  /* buying a long sword, more then enough */
  NOT IsCarrying 202    /* but you don't have the electrum & gold coins */
        OR
  NOT IsCarrying 203
  PrintMessage 14       /* "not enough" */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 19
  VariableEquals 2 215  /* buying a long sword, with exact change */
  Destroy 202
  Destroy 203
  GetNOUN
  PrintMessage 15
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 20         /* you're in the general store */
  VariableLT 2 213      /* you're buying a drink, but you can't here */
  SubtractFromVariable 2 207
  PrintVariableMessage 2
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 20         /* you're in the general store */
  NOT VariableEquals 2 224  /* but you're not buying the kit */
  PrintMessage 2
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 20         /* you're buying the kit in the general store */
  PrintMessage 6        /* but you don't have enough (and never will) */
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21         /* You're in the bakery */
  VariableLT 2 213      /* and you want to buy a drink, but you can't */
  SubtractFromVariable 2 207
  PrintVariableMessage 2
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21         /* you're in the bakery */
  VariableLT 220
        OR
  VariableGT 223        /* but you're not buying food */
  PrintMessage 2
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 220  /* you're buying chocolate cake in the bakery */
  VariableLT 1 10       /* but you don't have enough */
  PrintMessage 6
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 220   /* buying chocolate cake & have enough money */
  NOT IsCarrying 202     /* but you don't have exact change */
  PrintMessage 16
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 220  /* buying cake with exact change */
  Destroy 202
  GetNOUN
  PrintMessage 17
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 221  /* you're buying apple strudel in the bakery */
  VariableLT 1 5        /* but you don't have enough */
  PrintMessage 6
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 221   /* buying apple strudel & have enough money */
  NOT IsCarrying 201     /* but you don't have exact change */
  PrintMessage 16
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 221  /* buying strudel with exact change */
  Destroy 201
  GetNOUN
  PrintMessage 17
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 222  /* you're buying strawberry tart in the bakery */
  VariableLT 1 5        /* but you don't have enough */
  PrintMessage 6
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 222   /* buying strawberry tart & have enough money */
  NOT IsCarrying 201     /* but you don't have exact change */
  PrintMessage 16
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 222  /* buying tart with exact change */
  Destroy 201
  GetNOUN
  PrintMessage 17
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 223  /* you're buying corn muffin in the bakery */
  VariableLT 1 1        /* but you don't have enough */
  PrintMessage 6
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 223   /* buying corn muffin & have enough money */
  NOT IsCarrying 200     /* but you don't have exact change */
  PrintMessage 16
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 21
  VariableEquals 2 223  /* buying muffin with exact change */
  Destroy 200
  GetNOUN
  PrintMessage 17
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22         /* in magick shoppe */
  VariableLT 2 213      /* & trying, but failing, to buy a drink */
  SubtractFromVariable 2 207
  PrintVariableMessage 2
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22          /* in Magick Shoppe */
  VariableLT 2 216
        OR
  VariableGT 2 218      /* but you're not buying a magic item */
  PrintMessage 2
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 216  /* buying a light rock */
  VariableLT 1 20       /* but you don't have enough */
  PrintMessage 6
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 216  /* buying a light rock */
  NOT IsCarrying 203    /* but no exact change */
  PrintMessage 18
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 216  /* buying a light rock with exact change */
  Destroy 203
  GetNOUN
  PrintMessage 19
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 217  /* buying a healing potion */
  VariableLT 1 20       /* but you don't have enough */
  PrintMessage 6
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 217  /* buying a healing potion */
  NOT IsCarrying 203    /* but no exact change */
  PrintMessage 18
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 217  /* buying a healing potion with exact change */
  Destroy 203
  GetIt 225
  PrintMessage 19
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 218  /* buying a bag of holding */
  VariableLT 1 50       /* but you don't have enough */
  PrintMessage 6
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 218  /* buying a bag of holding with exact change */
  Destroy 204
  GetNOUN
  PrintMessage 19
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 219  /* buying a ring of protection */
  VariableLT 1 50       /* but you don't have enough */
  PrintMessage 6
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  AtLocation 22
  VariableEquals 2 219  /* buying a ring of protection with exact change */
  Destroy 204
  GetNOUN
  PrintMessage 19
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  VariableLT 2 213      /* buying a drink in a non-store */
  SubtractFromVariable 2 207
  PrintVariableMessage 2
  DoneWithTurn
END_COMMAND

COMMAND BUY ANY
  PrintMessage 2        /* buying something buyable in a non-store */
  DoneWithTurn
END_COMMAND

/***********************************************/
/*             The READ Commands               */
/***********************************************/

COMMAND READ ANY
  NOUNPresent
  NOT IsWearing 252     /* not wearing the magic glasses */
  MakeVarNounNum 2
  VariableLT 2 210      /* sign or coin */
        OR
  VariableEquals 2 231  /* vellum scroll */
        OR
  VariableEquals 2 233  /* green label */
  PrintMessage 20       /* "all greek to you" etc. */
  DoneWithTurn
END_COMMAND

COMMAND READ ANY
  NOUNPresent
  NOT IsWearing 252     /* not wearing the magic glasses */
  VariableEquals 2 236  /* red label */
        OR
  VariableEquals 2 239  /* blue label */
        OR
  VariableEquals 2 246  /* magic wand */
        OR
  VariableEquals 2 254  /* magic amulet */
  PrintMessage 20       /* "all greek to you" etc. */
  DoneWithTurn
END_COMMAND

COMMAND READ VIAL
  SetVariableTo 3 42    /* message base for labels */
  NOUNPresent
  NOUNIsNumber 233      /* is it the green label? */
  AddVariables 3 7      /* put message number in var# 3 */
END_COMMAND

COMMAND READ VIAL
  NOUNPresent
  NOUNIsNumber 236      /* Is it the red label? */
  AddVariables 3 8      /* put message number is Var# 3 */
END_COMMAND

COMMAND READ VIAL
  NOUNPresent
  NOUNIsNumber 239
  AddVariables 3 9     /* its the blue label */
END_COMMAND

COMMAND READ VIAL
  NOUNPresent           /* well, read it */
  PrintVariableMessage 3
  DoneWithTurn
END_COMMAND

COMMAND READ WAND
  NOUNPresent              /* wand is here */
  SetVariableTo 3 123      /* base for wand */
  AddVariables 3 6         /* get correct message */
  PrintVariableMessage 3   /* read it! */
  DoneWithTurn
END_COMMAND

/***********************************************/
/*              The GET Commands               */
/***********************************************/

COMMAND GET ALL
  AtLocation 43         /* Lord's Bedroom */
  Present 261           /* secret niche has been found */
  RelocateAll 261 43    /* put it all in the room */
END_COMMAND

COMMAND GET ANY
  NOUNPresent
  NOUNIsCreature
  PrintMessage 83
  DoneWithTurn
END_COMMAND

COMMAND GET COIN
  AtLocation 24
  FlagOFF 2             /* vicious bird not fed */
  NOUNIsNumber 203      /* trying to get the gold coin */
  PrintMessage 21       /* the bird chops you, etc. */
  DoneWithTurn
END_COMMAND

COMMAND GET ANY
  AtLocation 9          /* inside the stronghold */
  Present 314           /* the wraith is still there */
  NOUNPresent           /* what you want is there */
  PrintMessage 84       /* the wraith won't let you, etc. */
  DoneWithTurn
END_COMMAND

COMMAND GET BAG
  AtLocation 87
        OR
  AtLocation 88         /* in the bag */
  PrintMessage 118      /* not while your in it */
  DoneWithTurn
END_COMMAND

COMMAND GET ANY
  NOUNIsLocated 87      /* noun is in the bag */
  Present 218           /* bag is here */
  IsOpen 218            /* bag is open */
  PrintMessage 119      /* print a little something */
  GetNOUN               /* get it */
  LoadWeightLT 101      /* all ok */
  DoneWithTurn
END_COMMAND

COMMAND GET ANY
  LoadWeightGT 100      /* oops, too much, would be from the bag */
  PrintMessage 133
  DropNOUN
  DoneWithTurn
END_COMMAND

COMMAND GET IN BAG
  ReDirectTo ENTER BAG
END_COMMAND

COMMAND GET BRICK
  NOUNIsNumber 260      /* central brick */
  NOUNPresent           /* and its here */
  CounterEquals 6 0     /* not strong */
  PrintMessage 173      /* can't get it */
  DoneWithTurn
END_COMMAND

COMMAND GET BRICK
  NOUNIsNumber 260      /* central brick */
  NOUNPresent
  CounterGT 6 0         /* just making sure */
  PrintMessage 174      /* got it */
  Destroy 260           /* no more central brick */
  SwapLocations 267 268 /* swap dam #1 with dam #2 */
  TurnCounterON 8       /* water is leaking */
  DoneWithTurn
END_COMMAND

COMMAND GET ARTIFACT
  AtLocation 97         /* in Vartok's Lair */
  CounterEquals 12 0    /* but he's in the way */
  PrintMessage 203      /* he stop's you */
  DoneWithTurn
END_COMMAND

COMMAND GET ARTIFACT
  AtLocation 97         /* in Vartok's Lair */
  CounterGT 12 0        /* and he's stunned */
  PrintMessage 204      /* can't get it */
  DoneWithTurn
END_COMMAND

/***********************************************/
/*              The DROP Commands              */
/***********************************************/

COMMAND DROP ANY
  AtLocationGT 75
  AtLocationLT 80       /* in midair */
  NOUNPresent
  PrintMessage 154      /* its lost forever */
  DestroyNOUN
  DoneWithTurn
END_COMMAND

/***********************************************/
/*              The GIVE Commands              */
/***********************************************/

COMMAND GIVE ANY TO ANY
  NOUNIsNumber 0
  PrintMessage 197
  DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO ANY
  ObjectIsNumber 0
  PrintMessage 117
  DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO ANY
  TurnFlagOFF 255       /* clear flag */
  NOUNIsLocated 87      /* in the bag */
  IsCarrying 218        /* carrying bag */
  IsOpen 218            /* and its open */
  TurnFlagON 255        /* its givable */
END_COMMAND

COMMAND GIVE ANY TO ANY
  NOT NOUNIsCarrying
  FlagOFF 255           /* temp flag, top see if in bag */
  PrintMessage 22
  DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO ANY
  NOT ObjectPresent
  PrintMessage 23
  DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO BIRD
  MakeVarNounNum 2
  VariableGT 2 219
  VariableLT 2 224      /* is it food? */
  DestroyNOUN           /* kill the food */
  TurnFlagON 2          /* bird is fed */
  PrintMessage 24       /* bird devours, etc. */
  PlusScore 2
  DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO FIGHTER
  MakeVarNounNum 2
  VariableGT 2 209
  VariableLT 2 213      /* its a drink */
  DestroyNOUN
  SwapLocations 301 325 /* add Chrome to group */
  AddToVariable 4 1     /* add 1 to number of party members */
  PrintMessage 26
  PlusScore 1
  DoneWithTurn
END_COMMAND

COMMAND GIVE WATER TO CLERIC
  MakeVarObjectNum 3
  VariableEquals 3 302  /* giving it to Tyree */
  DestroyNOUN
  SwapLocations 302 326 /* add Tyree to group */
  AddToVariable 4 1     /* add 1 to number of party members */
  PrintMessage 27
  PlusScore 1
  DoneWithTurn
END_COMMAND

COMMAND GIVE SCROLL TO WIZARD
  DestroyNOUN
  SwapLocations 303 327 /* add Issak to group */
  AddToVariable 4 1     /* add 1 to number of party members */
  PrintMessage 28
  PlusScore 1
  DoneWithTurn
END_COMMAND

COMMAND GIVE WAND TO DRAGON
  DestroyNOUN           /* he accepts */
  PrintMessage 98       /* says so */
  TurnFlagON 15         /* he's appeased */
  DoneWithTurn
END_COMMAND

COMMAND GIVE DIAMOND TO DRAGON
  FlagOFF 18            /* doesn't see the wand */
  DestroyNOUN           /* accepts diamond */
  PrintMessage 98       /* say he happy */
  TurnFlagON 15         /* he's appeased */
  DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO WARLOCK
  NOUNIsNumber 230      /* diamond */
        OR
  NOUNIsNumber 238      /* statuette (correct) */
        OR
  NOUNIsNumber 246      /* wand */
  DestroyNOUN           /* he accepts it */
  TurnFlagON 10         /* you have the spell */
  TurnFlagON 17         /* you've bought the spell */
  PrintMessage 100      /* say what happens */
  GoToRoom 24           /* out the door */
  DoneWithTurn
END_COMMAND

COMMAND GIVE STATUETTE TO CYCLOPS
  PrintMessage 171
  DoneWithTurn
END_COMMAND

COMMAND GIVE BRICK TO CYCLOPS
  NOUNIsNumber 257      /* gold brick */
  PrintMessage 172      /* that's good enough */
  DestroyNOUN           /* no more brick */
  TurnFlagON 26         /* you can pass now */
  DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO ANY
  ObjectIsCreature
  PrintMessage 25       /* refuses */
  DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO ANY
  PrintMessage 29      /* not a creature */
  DoneWithTurn
END_COMMAND

/***********************************************/
/*            The EXAMINE Commands             */
/***********************************************/

COMMAND EXAMINE TABLE
  AtLocation 16       /* In the shack? */
  FlagOFF 3           /* first time searching table? */
  TurnFlagON 3
  PrintMessage 30     /* "you find case" */
  SendToRoom 251 16   /* move case to room */
  PlusScore 2
  DoneWithTurn
END_COMMAND

COMMAND EXAMINE FOUNTAIN
  AtLocation 99       /* At the temple garden? */
  FlagOFF 5           /* Have you searched it yet? */
  TurnFlagON 5
  SendToRoom 202 232  /* put the electrum coin in the fountain */
  PlusScore 2
END_COMMAND

COMMAND EXAMINE FOUNTAIN
  QuitAllCMDs
END_COMMAND

COMMAND EXAMINE DAM
  AtLocation 86         /* at the dam */
  FlagOFF 27            /* haven't searched it yet */
  TurnFlagON 27
  SendToRoom 260 86     /* send the central brick to the room */
  QuitAllCMDs
END_COMMAND

COMMAND EXAMINE WALL
  NOUNPresent
  AtLocation 90         /* chasm bottom (mid) w/south wall detected */
  FlagOFF 30            /* haven't put door there yet */
  TurnFlagON 30         /* but I will */
  SendToRoom 271 90     /* send the door here */
  ChangePassageway 2 92 /* open it up to hallway */
  QuitAllCMDs
END_COMMAND

/***********************************************/
/*              The LOOK Commands              */
/***********************************************/

COMMAND LOOK IN BAG
  NOT Present 218       /* bag not around */
  PrintMessage 115      /* not here */
  DoneWithTurn
END_COMMAND

COMMAND LOOK IN BAG
  IsClosed 218          /* bag is closed */
  SomethingInside 87    /* its carrying something */
  PrintMessage 116      /* say so */
  DoneWithTurn
END_COMMAND

COMMAND LOOK IN BAG
  SomethingInside 87    /* its carrying something */
  PrintMessage 113      /* you see the following... */
  ShowContents 87
  DoneWithTurn
END_COMMAND

COMMAND LOOK THROUGH DOOR
  AtLocation 96         /* in the cell */
  PrintMessage 183
  ShowContents 95       /* show what's in the guard room */
  DoneWithTurn
END_COMMAND

COMMAND LOOK UNDER TABLE
  ReDirectTo EXAMINE TABLE
END_COMMAND

COMMAND LOOK BEHIND TAPESTRY
  ReDirectTo PUSH TAPESTRY
END_COMMAND

/***********************************************/
/*              The TURN Commands              */
/***********************************************/

COMMAND TURN OFF ROCK
  NOUNIsCarrying
  PrintMessage 31
  DoneWithTurn
END_COMMAND

COMMAND TURN OFF ROCK
  NOT NOUNIsCarrying
  QuitAllCMDs
END_COMMAND

COMMAND TURN ROCK OFF
  ReDirectTo TURN OFF ROCK
END_COMMAND

/***********************************************/
/*               The PUT Commands              */
/***********************************************/

COMMAND PUT ANY IN ANY
  NOUNIsNumber 0
  PrintMessage 197
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN ANY
  ObjectIsNumber 0
  PrintMessage 117
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN ANY
  TurnFlagOFF 255       /* clear flag */
  NOUNIsLocated 87      /* in the bag */
  IsCarrying 218        /* carrying bag */
  IsOpen 218            /* and its open */
  TurnFlagON 255        /* its putable */
END_COMMAND

COMMAND PUT ANY IN ANY
  NOT NOUNIsCarrying
  NOT NOUNIsWearing
  FlagOFF 255           /* temp flag, top see if in bag */
  PrintMessage 22
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN ANY
  NOT ObjectPresent
  PrintMessage 23
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN ANY
  MakeVarNounNum 2
  MakeVarObjectNum 3
  VariableEquals 2 252          /* glasses */
  VariableEquals 3 251          /* case */
  IsClosed 251
  PrintMessage 32
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN ANY
  VariableEquals 2 252          /* glasses */
  VariableEquals 3 251          /* case */
  PrintMessage 33
  SendToRoom 252 251
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN ANY
  VariableEquals 2 246          /* wand */
  VariableEquals 3 245          /* box */
  IsClosed 245
  PrintMessage 32
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN ANY
  VariableEquals 2 246          /* wand */
  VariableEquals 3 245          /* box */
  PrintMessage 33
  SendToRoom 246 245
  DoneWithTurn
END_COMMAND

COMMAND PUT BAG IN BAG
  PrintMessage 114      /* won't work */
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN BAG
  IsClosed 218
  PrintMessage 109
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN BAG
  PrintMessage 112      /* it disappears in the bag */
  SendNOUNToRoom 87     /* now its in the bag */
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN NICHE
  NOUNIsNumber 233      /* green vial */
        OR
  NOUNIsNumber 236      /* red vial */
        OR
  NOUNIsNumber 239      /* blue vial */
  SendNOUNToRoom 261    /* put it in niche */
  PrintMessage 33
  DoneWithTurn
END_COMMAND

COMMAND PUT BRICK IN VAT
  NOUNIsNumber 247      /* lead brick */
  PrintMessage 166      /* boils away */
  DestroyNOUN           /* no more lead brick */
  Destroy 256           /* no more bubbling liquid */
  ChangePassageway 1 0  /* kill passage north */
  SendToRoom 255 102    /* send vat to "new" hut */
  SendToRoom 257 255    /* put the gold brick in the vat */
  RelocateAll 83 102    /* move all from old hut to new hut */
  GoToRoom 102          /* go to new hut */
  ChangePassageway 1 82 /* new hut goes to east road */
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN VAT
  Present 256           /* the liquid is still in the vat */
  PrintMessage 167      /* it disappears forever */
  DestroyNOUN
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN VAT
  SendNOUNToRoom 255
  PrintMessage 168
  DoneWithTurn
END_COMMAND

COMMAND PUT POTION IN BEER
  NOUNIsCarrying
  ObjectPresent         /* let's do it */
  PrintMessage 187
  NOT NOUNIsNumber 217  /* not the healing potion, must be poison */
  TurnFlagON 32         /* beer poisoned */
END_COMMAND

COMMAND PUT POTION IN BEER
  NOUNIsCarrying
  ObjectPresent         /* let's do it */
  DestroyNOUN           /* no more potion */
  DoneWithTurn
END_COMMAND

COMMAND PUT AMULET IN DEPRESSION
  AtLocation 97         /* in Vartok's Lair */
  CounterEquals 12 0    /* not stunned */
  PrintMessage 203      /* can't get by */
  DoneWithTurn
END_COMMAND

COMMAND PUT AMULET IN DEPRESSION
  AtLocation 97         /* in Vartok's Lair */
  CounterGT 12 0        /* he's stunned */
  NOUNIsNumber 278      /* glowing amulet */
  PrintMessage 205      /* you did it! */
  TurnCounterOFF 11     /* being neat */
  TurnCounterOFF 12     /* being neat */
  PlusScore 5           /* final 5 points */
  WinGame
  DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN LIQUID
  ReDirectTo PUT $NOUN$ IN VAT
END_COMMAND

COMMAND PUT ANY IN STEIN
  ReDirectTo PUT $NOUN$ IN BEER
END_COMMAND

COMMAND PUT AMULET IN ARTIFACT
  ReDirectTo PUT AMULET IN DEPRESSION
END_COMMAND

/***********************************************/
/*              The KILL Commands              */
/***********************************************/

COMMAND KILL ANY WITH WAND
  ReDirectTo SHOOT $NOUN$ WITH WAND
END_COMMAND

COMMAND KILL WRAITH WITH WATER
  ReDirectTo THROW WATER AT WRAITH
END_COMMAND

COMMAND KILL ANY WITH ANY
  NOUNIsNumber 0        /* no noun specified */
  PrintMessage 197
  DoneWithTurn
END_COMMAND

COMMAND KILL ANY WITH ANY
  NOT NOUNPresent
  PrintMessage 58       /* it isn't here! */
  DoneWithTurn
END_COMMAND

COMMAND KILL ANY WITH ANY
  NOT NOUNIsNumber 266
  NOT NOUNIsCreature
  PrintMessage 37       /* You can't kill a, etc. */
  DoneWithTurn
END_COMMAND

COMMAND KILL ANY WITH ANY
  ObjectIsNumber 0      /* didn't say with what */
  PrintMessage 117
  DoneWithTurn
END_COMMAND

COMMAND KILL ANY WITH ANY
  NOT ObjectPresent
  PrintMessage 57       /* don't have it */
  DoneWithTurn
END_COMMAND

COMMAND KILL ANY WITH ANY
  NOT ObjectIsNumber 213
  NOT ObjectIsNumber 214
  NOT ObjectIsNumber 215
  PrintMessage 38       /* not a good weapon */
  DoneWithTurn
END_COMMAND

COMMAND KILL BIRD WITH ANY
  PrintMessage 39
  DoneWithTurn
END_COMMAND

COMMAND KILL ANY WITH ANY
  NOUNIsNumber 325      /* Chrome */
        OR
  NOUNIsNumber 326      /* Tyree */
        OR
  NOUNIsNumber 327      /* Issak */
  PrintMessage 40
  DoneWithTurn
END_COMMAND

COMMAND KILL DRAGON WITH ANY
  AddToVariable 5 2     /* you've attacked the dragon again */
  VariableEquals 5 4    /* The Dragon has had enough! */
  PrintMessage 46
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND KILL DRAGON WITH ANY
  PrintMessage 35
  DoneWithTurn
END_COMMAND

COMMAND KILL CYCLOPS WITH ANY
  PrintMessage 36
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND KILL BANDITS WITH ANY
  SetVariableTo 3 47    /* base bandits message */
  AddVariables 3 4      /* add # of party members */
  PrintVariableMessage 3
  PrintMessage 51
  GetIt 235             /* you now have the magic gem */
  TurnFlagON 12         /* congrats, you've killed the bandits */
  TurnCounterOFF 1      /* just to be neat */
  PlusScore 2
  DoneWithTurn
END_COMMAND

COMMAND KILL WOLF WITH ANY
  PrintMessage 66
  TurnCounterON 2       /* You won, but your wounded */
  TurnFlagON 14         /* congrats, no more wolf */
  Destroy 310           /* destroy wolf */
  DoneWithTurn
END_COMMAND

COMMAND KILL WOLVES WITH ANY
  SetVariableTo 3 66    /* base wolf message */
  AddVariables 3 4      /* add # of party members */
  PrintVariableMessage 3
  TurnCounterON 2       /* You won, but your wounded */
  TurnFlagON 14         /* congrats, no more wolves */
  Destroy 311
  Destroy 312
  Destroy 313           /* destroy any and all wolves */
  DoneWithTurn
END_COMMAND

COMMAND KILL DRAGONNE WITH ANY
  PrintMessage 77       /* not a smart thing to do */
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND KILL WRAITH WITH ANY
  PrintMessage 80       /* not a smart thing to do */
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND KILL VARTOK WITH ANY
  PrintMessage 200      /* you attack! */
  TurnCounterON 12      /* you can get at the Artifact */
  DoneWithTurn
END_COMMAND

/* DEFAULT KILLS -- MUST BE LAST */
COMMAND KILL ANY WITH ANY
  MakeVarNounNum 2
  VariableLT 2 317      /* less then the bartender */
  PrintMessage 41
  DoneWithTurn
END_COMMAND

COMMAND KILL ANY WITH ANY
  PrintMessage 42
  DoneWithTurn
END_COMMAND

/***********************************************/
/*             The ZARDOZ Commands             */
/***********************************************/

COMMAND ZARDOZ
  NOT IsCarrying 235    /* not carrying the magic gem? */
  PrintMessage 52
  DoneWithTurn
END_COMMAND

COMMAND ZARDOZ
  FlagOFF 11            /* haven't used the gem yet? */
  NOT AtLocation 87
  NOT AtLocation 88     /* not in the bag */
  TurnFlagON 11         /* now you've used it */
  MakeVarRoomNum 11     /* will return to this room */
  PrintMessage 53
  DoneWithTurn
END_COMMAND

COMMAND ZARDOZ
  FlagOFF 11            /* haven't used it, but in the bag */
  PrintMessage 54
  DoneWithTurn
END_COMMAND

COMMAND ZARDOZ
  AtLocation 87
        OR
  AtLocation 88         /* in the bag? */
  PrintMessage 54
  DoneWithTurn
END_COMMAND

/* Well it worked. */
COMMAND ZARDOZ
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327   /* so that they don't come with you */
  GoToVariableRoom 11   /* send player to requested room */
  Destroy 235           /* use up the gem */
  PrintMessage 59
END_COMMAND

COMMAND ZARDOZ
  AddToGroup 325
  AddToGroup 326
  AddToGroup 327        /* but I'd better put them back */
  SetVariableTo 15 0
  AddVariables 15 4     /* set var 15 to var 4 */
  SetVariableTo 4 0     /* no more party members */
  NOT VariableEquals 11 74      /* not returning to vault */
  TurnCounterOFF 4              /* you have air again! */
END_COMMAND

COMMAND ZARDOZ
  DoneWithTurn
END_COMMAND

/***********************************************/
/*             The DRINK Commands              */
/***********************************************/

COMMAND DRINK POTION
  NOUNIsCarrying
  NOUNIsNumber 217      /* You have and want to drink the healing potion */
  PrintMessage 62       /* It goes down.. */
  CounterGT 2 0         /* are you wounded? */
  TurnCounterOFF 2      /* Not any more */
  PrintMessage 63       /* Say your healed */
  PlusScore 1
END_COMMAND

COMMAND DRINK POTION
  NOUNIsCarrying
  NOUNIsNumber 217      /* You have and want to drink the healing potion */
  Destroy 217           /* No more Potion */
  DoneWithTurn
END_COMMAND

COMMAND DRINK POTION
  NOUNIsCarrying
  SetVariableTo 3 0     /* clear temp variable */
  NOUNIsNumber 234      /* green potion */
  AddVariables 3 7      /* var 3 is potion type */
END_COMMAND

COMMAND DRINK POTION
  NOUNIsCarrying
  NOUNIsNumber 237      /* red potion */
  AddVariables 3 8      /* var 3 is potion type */
END_COMMAND

COMMAND DRINK POTION
  NOUNIsCarrying
  NOUNIsNumber 240      /* blue potion */
  AddVariables 3 9      /* var 3 is potion type */
END_COMMAND

COMMAND DRINK POTION
  NOUNIsCarrying
  SetVariableTo 2 159   /* base message */
  AddVariables 2 3      /* 2 has proper message */
  PrintMessage 62       /* you gulp it down */
  BlankLine
  PrintVariableMessage 2
  VariableEquals 3 1    /* flying */
  TurnCounterON 5       /* you can fly! */
END_COMMAND

COMMAND DRINK POTION
  NOUNIsCarrying
  VariableEquals 3 2    /* strength */
  TurnCounterON 6       /* you feel strong ! */
END_COMMAND

COMMAND DRINK POTION
  NOUNIsCarrying
  VariableEquals 3 3    /* oops, poison */
  KillPlayer            /* you died */
END_COMMAND

COMMAND DRINK POTION
  NOUNIsCarrying
  DestroyNOUN
  DoneWithTurn
END_COMMAND

COMMAND DRINK BEER
  NOUNPresent
  PrintMessage 190      /* boy, its bad */
  FlagON 32             /* and poisoness */
  BlankLine
  PrintMessage 162      /* death by poison message */
  KillPlayer
END_COMMAND

COMMAND DRINK BEER
  NOUNPresent
  DoneWithTurn
END_COMMAND

COMMAND DRINK ANY
  NOUNIsNumber 0
  PrintMessage 197
  DoneWithTurn
END_COMMAND

COMMAND DRINK ANY
  NOUNPresent
  NOUNIsNumber 210
        OR
  NOUNIsNumber 211
        OR
  NOUNIsNumber 212      /* a drink from the bar */
  AtLocation 18         /* at the bar */
  PrintMessage 191
  DestroyNOUN
  DoneWithTurn
END_COMMAND

COMMAND DRINK ANY
  NOUNPresent
  NOUNIsNumber 210
        OR
  NOUNIsNumber 211
        OR
  NOUNIsNumber 212      /* a drink from the bar, but you're not there */
  PrintMessage 192
  DestroyNOUN
  DoneWithTurn
END_COMMAND

/***********************************************/
/*             The THROW Commands              */
/***********************************************/

COMMAND THROW ANY AT ANY
  NOUNIsNumber 0
  PrintMessage 197
  DoneWithTurn
END_COMMAND

COMMAND THROW ANY AT ANY
  ObjectIsNumber 0
  PrintMessage 117
  DoneWithTurn
END_COMMAND

COMMAND THROW ANY AT ANY
  NOT NOUNIsCarrying
  PrintMessage 22       /* you don't have it */
  DoneWithTurn
END_COMMAND

COMMAND THROW ANY AT ANY
  NOT ObjectPresent
  PrintMessage 23       /* it isn't here */
  DoneWithTurn
END_COMMAND

COMMAND THROW WATER AT WRAITH
  PrintMessage 81       /* well done */
  Destroy 228           /* no more holy water */
  Destroy 314           /* no more wraith */
  PlusScore 1
  VariableEquals 4 1    /* only here with Issak? */
  PrintMessage 151      /* he leaves */
END_COMMAND

COMMAND THROW WATER AT WRAITH
  VariableGT 4 1        /* more then Issak */
  PrintMessage 86       /* everyone leaves */
END_COMMAND

COMMAND THROW WATER AT WRAITH
  RemoveFromGroup 325
  RemoveFromGroup 326
  RemoveFromGroup 327
  Destroy 325
  Destroy 326
  Destroy 327           /* say goodbye to Chrome, Tyree, and Issak */
  SetVariableTo 4 0     /* no more party memebers */
  SendToRoom 204 9      /* platinum coin is treasure */
  SendToRoom 230 9      /* huge diamond is treasure */
  SendToRoom 238 9      /* gold statue is treasure */
  DoneWithTurn
END_COMMAND

/***********************************************/
/*              The ASK Commands               */
/***********************************************/

COMMAND ASK ANY ABOUT ANY
  NOUNPresent
  NOT NOUNIsCreature
  PrintMessage 89
  DoneWithTurn
END_COMMAND

COMMAND ASK CHROME ABOUT ANY
  NOUNPresent
  PrintMessage 90
  DoneWithTurn
END_COMMAND

COMMAND ASK TYREE ABOUT ANY
  NOUNPresent
  PrintMessage 91
  DoneWithTurn
END_COMMAND

COMMAND ASK ISSAK ABOUT ANY
  NOUNPresent
  PrintMessage 92
  DoneWithTurn
END_COMMAND

COMMAND ASK ANY ABOUT ANY
  NOUNPresent
  PrintMessage 93
  DoneWithTurn
END_COMMAND

COMMAND ASK ANY ABOUT ANY
  PrintMessage 58
  DoneWithTurn
END_COMMAND

/***********************************************/
/*             The TALK Commands               */
/***********************************************/

COMMAND TALK TO ANY ABOUT ANY
  ReDirectTo ASK $NOUN$ ABOUT $OBJECT$
END_COMMAND

COMMAND TALK WITH ANY ABOUT ANY
  ReDirectTo ASK $NOUN$ ABOUT $OBJECT$
END_COMMAND

/***********************************************/
/*            The GREET Commands               */
/***********************************************/

COMMAND GREET ANY
  NOUNIsNumber 0
  PrintMessage 197
  DoneWithTurn
END_COMMAND

COMMAND GREET ANY
  NOUNPresent
  NOT NOUNIsCreature
  PrintMessage 89
  DoneWithTurn
END_COMMAND

COMMAND GREET ANY
  NOUNPresent
  NOUNIsNumber 325      /* Chrome */
        OR
  NOUNIsNumber 326      /* Tyree */
        OR
  NOUNIsNumber 327      /* Issak */
  PrintMessage 94
  DoneWithTurn
END_COMMAND

COMMAND GREET ANY
  NOUNPresent
  PrintMessage 93
  DoneWithTurn
END_COMMAND

COMMAND GREET ANY
  PrintMessage 58
  DoneWithTurn
END_COMMAND

/***********************************************/
/*            The HELLO Commands               */
/***********************************************/

COMMAND ANYBODY, HELLO
  ReDirectTo GREET $NAME$
END_COMMAND

COMMAND HELLO
  PrintMessage 95
  DoneWithTurn
END_COMMAND

/***********************************************/
/*            The MALLIC Commands              */
/***********************************************/

COMMAND MALLIC ANY
  FlagOFF 10       /* you don't remember it */
  PrintMessage 52  /* nothing happens */
  DoneWithTurn
END_COMMAND

COMMAND MALLIC ANY
  NOUNIsNumber 0        /* haven't MALLICed anything! */
  PrintMessage 197      /* MALLIC what? */
  DoneWithTurn
END_COMMAND

COMMAND MALLIC ANY
  TurnFlagOFF 10        /* well, you've used it now */
  NOUNIsCreature
        OR
  NOT NOUNIsMovable     /* can't work on this stuff */
  PrintMessage 101
  DoneWithTurn
END_COMMAND

COMMAND MALLIC ANY
  AtLocation 96         /* guard room cell */
  NOUNIsLocated 95      /* noun is in guards room */
  GetNOUN               /* hopefully, it was the key! */
  PrintMessage 102      /* say you've got it */
  DoneWithTurn
END_COMMAND

COMMAND MALLIC ANY
  NOUNIsLocated 87      /* noun is in the bag */
  Present 218           /* bag is here */
  IsOpen 218            /* and its open */
  GetNOUN               /* it works, but what a waste! */
  PrintMessage 102      /* say you've got it */
  DoneWithTurn
END_COMMAND

COMMAND MALLIC BRICK
  NOUNPresent           /* a brick is here */
  NOUNIsNumber 260      /* it's the central brick */
  PrintMessage 207      /* tries but fails */
  DoneWithTurn
END_COMMAND

COMMAND MALLIC ANY
  NOUNPresent
  NOT NOUNIsCarrying    /* here and you don't have it */
  GetNOUN               /* it works and is wasted */
  PrintMessage 102      /* say you've got it */
  DoneWithTurn
END_COMMAND

COMMAND MALLIC ANY
  PrintMessage 101      /* nothing happens */
  DoneWithTurn
END_COMMAND

/***********************************************/
/*             The OPEN Commands               */
/***********************************************/

COMMAND OPEN BAG
  AtLocation 88         /* in the closed bag */
  PrintMessage 105      /* let light in */
  RelocateAll 88 87     /* everything in it goes too! */
  GoToRoom 87
  DoneWithTurn
END_COMMAND

COMMAND OPEN BAG
  AtLocation 87         /* in the open bag */
  PrintMessage 106      /* already open! */
  DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
  NOUNIsNumber 272      /* room door in guard room */
  FlagOFF 31            /* have escaped yet */
  PrintMessage 185      /* you shouldn't have done that */
  KillPlayer
  DoneWithTurn
END_COMMAND

/***********************************************/
/*             The CLOSE Commands              */
/***********************************************/

COMMAND CLOSE BAG
  AtLocation 87         /* in the open bag */
  PrintMessage 107      /* close off world */
  RelocateAll 87 88     /* everything in it goes too! */
  GoToRoom 88
  DoneWithTurn
END_COMMAND

COMMAND CLOSE BAG
  AtLocation 88         /* in the closed bag */
  PrintMessage 108      /* already closed! */
  DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
  NOUNPresent
  NOUNIsNumber 241      /* cell door */
  NOUNIsOpen            /* and its open */
  LockNOUN              /* automatically locks */
  QuitAllCMDs
END_COMMAND

/***********************************************/
/*             The PUSH Commands               */
/***********************************************/

COMMAND PUSH CABINET
  AtLocation 37         /* wrong cabinet */
  PrintMessage 121      /* doesn't move */
  DoneWithTurn
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  RandomVariable 7 3    /* which potion is green? */
  VariableLT 7 1
  SetVariableTo 7 1     /* emergency precaution 'cause it don't always work */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  VariableGT 7 3
  SetVariableTo 7 3     /* emergency precaution 'cause it don't always work */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  VariableEquals 7 1    /* is it the Flying Potion? */
  TurnFlagON 7          /* set flying flag to true */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  VariableEquals 7 2    /* is it the Strength Potion? */
  TurnFlagON 8          /* set strength flag to true */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  VariableEquals 7 3    /* is it the Poison? */
  TurnFlagON 9          /* set poison flag to true */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  Chance 50             /* 50% chance of red being next one picked */
  TurnFlagON 255
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  FlagON 255            /* is red winner */
  FlagOFF 7             /* red won, is flying available? */
  SetVariableTo 8 1     /* red is flying potion */
  TurnFlagON 7          /* flying is no longer available */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  FlagON 255            /* is red winner? */
  VariableEquals 8 0    /* red is not already flying potion? */
  SetVariableTo 8 2     /* red won, flying not avail, red is strength */
  TurnFlagON 8          /* strength not available */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  FlagOFF 255           /* did red loose? */
  FlagOFF 9             /* red lost, is poison available? */
  SetVariableTo 8 3     /* red is poison */
  TurnFlagON 9          /* turn on poison flag */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  FlagOFF 255           /* did red loose? */
  VariableEquals 8 0    /* red is not already poison? */
  SetVariableTo 8 2     /* red lost, poison not avail, red is strength */
  TurnFlagON 8          /* turn on strength flag */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  FlagOFF 7             /* flying still available for blue */
  SetVariableTo 9 1     /* blue is flying potion */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  FlagOFF 8             /* strength is still available for blue */
  SetVariableTo 9 2     /* blue is strength potion */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet */
  AtLocation 43         /* right cabinet */
  FlagOFF 9             /* still must check so it won't overwrite */
  SetVariableTo 9 3     /* by default blue is poison */
END_COMMAND

COMMAND PUSH CABINET
  FlagOFF 19            /* haven't moved cabinet, clear all temp flags */
  AtLocation 43         /* right cabinet */
  TurnFlagOFF 7
  TurnFlagOFF 8
  TurnFlagOFF 9
  TurnFlagOFF 255
END_COMMAND

COMMAND PUSH CABINET
  AtLocation 43         /* right cabinet */
  FlagOFF 19            /* haven't moved it yet */
  TurnFlagON 19         /* now you have */
  PrintMessage 122
  SendToRoom 261 43     /* found the niche */
  ShowContents 261      /* show what's in it */
  PlusScore 2
  DoneWithTurn
END_COMMAND

COMMAND PUSH CABINET
  AtLocation 43         /* right cabinet */
  PrintMessage 123      /* already moved */
  DoneWithTurn
END_COMMAND

COMMAND PUSH BENCH
  AtLocation 66         /* west cell */
  FlagOFF 20            /* haven't moved bench */
  RandomVariable 6 5    /* determine command word of wand */
  VariableLT 6 1        /* emergency precaution */
  SetVariableTo 6 1
END_COMMAND

COMMAND PUSH BENCH
  AtLocation 66         /* west cell */
  FlagOFF 20            /* haven't moved bench */
  VariableGT 6 5        /* emergency precaution */
  SetVariableTo 6 5
END_COMMAND

COMMAND PUSH BENCH
  AtLocation 66         /* west cell */
  FlagOFF 20            /* not yet pushed */
  TurnFlagON 20         /* now its pushed */
  PrintMessage 129
  ChangePassageway 2 67 /* open passage to secret workshop */
  PlusScore 2
  DoneWithTurn
END_COMMAND

COMMAND PUSH BENCH
  AtLocation 66         /* west cell */
  PrintMessage 130      /* don't do no good now */
  DoneWithTurn
END_COMMAND

COMMAND PUSH TAPESTRY
  AtLocation 47         /* throne room */
  FlagOFF 21            /* haven't moved it yet */
  TurnFlagON 21         /* now you have */
  PrintMessage 131
  ChangePassageway 1 60 /* open to secret staircase */
  PlusScore 2
  DoneWithTurn
END_COMMAND

COMMAND PUSH TAPESTRY
  AtLocation 47         /* throne room */
  PrintMessage 132      /* don't worry.. */
  DoneWithTurn
END_COMMAND

/***********************************************/
/*            The SHOOT Commands               */
/***********************************************/

COMMAND SHOOT WAND WITH WAND
  PrintMessage 136
  DoneWithTurn
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  NOT IsCarrying 246    /* don't have the wand */
  PrintMessage 57
  DoneWithTurn
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  NOUNIsCarrying
  PrintMessage 135
  DoneWithTurn
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  NOUNIsNumber 0        /* no noun */
  PrintMessage 147
  DoneWithTurn
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  NOUNIsNumber 325      /* Chrome */
        OR
  NOUNIsNumber 326      /* Tyree */
        OR
  NOUNIsNumber 327      /* Issak */
  PrintMessage 40
  DoneWithTurn
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  NOUNIsCreature
  MakeVarNounNum 3
  VariableEquals 3 308          /* damsel */
        OR
  VariableLT 3 304              /* less then the bandits */
        OR
  VariableGT 3 316              /* greater then the cyclops */
  NOT VariableEquals 3 324      /* not Vartok */
  PrintMessage 42
  DoneWithTurn
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  PrintMessage 137
  VariableEquals 6 1
  AskQuestion 1
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  VariableEquals 6 2
  AskQuestion 2
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  VariableEquals 6 3
  AskQuestion 3
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  VariableEquals 6 4
  AskQuestion 4
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  VariableEquals 6 5
  AskQuestion 5
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  VariableEquals 10 0   /* no more charges */
        OR
  AnswerIsWrong
  PrintMessage 52
  DoneWithTurn
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  SubtractFromVariable 10 1     /* you used a charge */
  NOT NOUNIsCreature
  NOT NOUNIsNumber 253          /* vault door */
  NOT NOUNIsMovable             /* shot an unmovable noun */
  PrintMessage 138              /* you miss */
  DoneWithTurn
END_COMMAND

COMMAND SHOOT ANY WITH WAND
  NOT NOUNIsCreature
  NOUNIsMovable         /* redundant check */
  PrintMessage 139      /* you vaporize it */
  DestroyNOUN
  DoneWithTurn
END_COMMAND

COMMAND SHOOT WOLF WITH WAND
  PrintMessage 140      /* you kill it */
  DestroyNOUN
  TurnFlagON 14
  DoneWithTurn
END_COMMAND

COMMAND SHOOT WOLVES WITH WAND
  PrintMessage 141      /* you kill them */
  DestroyNOUN
  TurnFlagON 14
  DoneWithTurn
END_COMMAND

COMMAND SHOOT BANDITS WITH WAND
  PrintMessage 141      /* you kill them */
  DestroyNOUN
  PrintMessage 51       /* save damsel */
  Destroy 308           /* now she's gone */
  GetIt 235             /* you now have the magic gem */
  TurnFlagON 12         /* congrats, you've killed the bandits */
  TurnCounterOFF 1      /* just to be neat */
  PlusScore 2
  DoneWithTurn
END_COMMAND

COMMAND SHOOT DRAGONNE WITH WAND
  PrintMessage 140
  DestroyNOUN
  PlusScore 1
  DoneWithTurn
END_COMMAND

COMMAND SHOOT WRAITH WITH WAND
  PrintMessage 142
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND SHOOT DRAGON WITH WAND
  PrintMessage 143
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND SHOOT CYCLOPS WITH WAND
  PrintMessage 144
  KillPlayer
  DoneWithTurn
END_COMMAND

COMMAND SHOOT VARTOK WITH WAND
  PrintMessage 199
  DoneWithTurn
END_COMMAND

COMMAND SHOOT DOOR WITH WAND
  FlagOFF 22            /* haven't shot it yet */
  TurnFlagON 22         /* now you have */
  PrintMessage 145
  DoneWithTurn
END_COMMAND

COMMAND SHOOT DOOR WITH WAND
  PrintMessage 146
  ChangePassageway 1 0  /* close passage between bank and ruins */
  GoToRoom 100          /* bank #2 */
  ChangePassageway 1 72 /* open to ruins */
  VariableEquals 11 73  /* gem return location is bank #1 */
  SetVariableTo 11 100  /* reset to bank #2 */
END_COMMAND

COMMAND SHOOT DOOR WITH WAND
  DoneWithTurn
END_COMMAND

COMMAND SHOOT WAND AT ANY
  ReDirectTo SHOOT $OBJECT$ WITH WAND
END_COMMAND

/***********************************************/
/*            The FLY Commands                 */
/***********************************************/

COMMAND FLY
  AtLocation 75         /* chasm's brink */
  CounterGT 5 0         /* flying */
  ReDirectTo SOUTH
END_COMMAND

COMMAND FLY
  CounterGT 5 0         /* flying */
  PrintMessage 158
  DoneWithTurn
END_COMMAND

COMMAND FLY
  PrintMessage 159
  DoneWithTurn
END_COMMAND

/***********************************************/
/*            The POUR Commands                */
/***********************************************/

COMMAND POUR ANY IN BEER
  ReDirectTo PUT $NOUN$ IN BEER
END_COMMAND

COMMAND POUR ANY IN STEIN
  ReDirectTo PUT $NOUN$ IN BEER
END_COMMAND

/***********************************************/
/*            The UNLOCK Commands              */
/***********************************************/

COMMAND UNLOCK DOOR WITH KEY
  NOUNIsNumber 241      /* cell door */
  ObjectIsNumber 265    /* just be sure its the iron key */
  FlagOFF 31            /* and you haven't done this yet */
  TurnFlagON 31         /* you will make your escape */
  TurnCounterOFF 10     /* no need for in cell counter */
  PlusScore 5           /* you've made your escape */
END_COMMAND

/***********************************************/
/*            The SORGUM Commands              */
/***********************************************/

COMMAND SORGUM
  PrintMessage 198
  DoneWithTurn
END_COMMAND

